package com.api.aiyh_pcn.copy_attachment.model;

/**
 * @author EBU7-dev1-ayh
 * @create 2021/8/26 0026 19:48
 */


public class ConfigEmpty {
	/**
	 * id
	 */
	private int id;
	/**
	 * 流程id
	 */
	private String workflowType;
	/**
	 * 模板字段
	 */
	private String templateField;
	/**
	 * 附件字段
	 */
	private String attachmentField;
	/**
	 * 是否控制模板字段
	 */
	private String isTemplateShow;
	/**
	 * 控制模板字段字段
	 */
	private String showField;
	/**
	 * 显示模板值
	 */
	private int showValue;
	/**
	 * 隐藏模板值
	 */
	private int hiddenValue;
	/**
	 * 模板表表名
	 */
	private String modelTableName;
	/**
	 * 模板表附件字段
	 */
	private String modelField;
	/**
	 * 控制模板字段字段所在表
	 */
	private String showTableName;
	/**
	 * 模板字段所在表
	 */
	private String templateTableName;
	/**
	 * 附件字段所在表
	 */
	private String attachmentTableName;
	/**
	 * 附件字段id
	 */
	private String attachmentFieldId;

	public ConfigEmpty(Builder builder) {
		this.id = builder.id;
		this.workflowType = builder.workflowType;
		this.templateField = builder.templateField;
		this.attachmentField = builder.attachmentField;
		this.isTemplateShow = builder.isTemplateShow;
		this.showField = builder.showField;
		this.showValue = builder.showValue;
		this.hiddenValue = builder.hiddenValue;
		this.modelTableName = builder.modelTableName;
		this.modelField = builder.modelField;
		this.showTableName = builder.showTableName;
		this.templateTableName = builder.templateTableName;
		this.attachmentTableName = builder.attachmentTableName;
		this.attachmentFieldId = builder.attachmentFieldId;
	}

	@Override
	public String toString() {
		return "ConfigEmpty{" +
				"id=" + id +
				", workflowType='" + workflowType + '\'' +
				", templetField='" + templateField + '\'' +
				", attachmentField='" + attachmentField + '\'' +
				", isTempletShow='" + isTemplateShow + '\'' +
				", showField='" + showField + '\'' +
				", showValue=" + showValue +
				", hiddenValue=" + hiddenValue +
				", modelTableName='" + modelTableName + '\'' +
				", modelField='" + modelField + '\'' +
				", showTableName='" + showTableName + '\'' +
				", templateTableName='" + templateTableName + '\'' +
				", attachmentTableName='" + attachmentTableName + '\'' +
				", attachmentFieldId='" + attachmentFieldId + '\'' +
				'}';
	}

	public String getAttachmentFieldId() {
		return attachmentFieldId;
	}

	public int getId() {
		return id;
	}

	public String getWorkflowType() {
		return workflowType;
	}

	public String getTemplateField() {
		return templateField;
	}

	public String getAttachmentField() {
		return attachmentField;
	}

	public String getIsTemplateShow() {
		return isTemplateShow;
	}

	public String getShowField() {
		return showField;
	}

	public int getShowValue() {
		return showValue;
	}

	public int getHiddenValue() {
		return hiddenValue;
	}

	public String getModelTableName() {
		return modelTableName;
	}

	public String getModelField() {
		return modelField;
	}

	public String getShowTableName() {
		return showTableName;
	}

	public String attachmentFieldId() {
		return attachmentFieldId;
	}

	public String getTemplateTableName() {
		return templateTableName;
	}

	public String getAttachmentTableName() {
		return attachmentTableName;
	}

	public static Builder create(){
		return new Builder();
	}

	public static class Builder{
		private int id;
		private String workflowType;
		private String templateField;
		private String attachmentField;
		private String isTemplateShow;
		private String showField;
		private int showValue;
		private int hiddenValue;
		private String modelTableName;
		private String modelField;
		String showTableName;
		String templateTableName;
		String attachmentTableName;
		String attachmentFieldId;

		public  ConfigEmpty builder(){
			return new ConfigEmpty(this);
		}

		public  Builder id(int id) {
			this.id = id;
			return this;
		}
		public  Builder showTableName(String showTableName) {
			this.showTableName = showTableName;
			return this;
		}
		public  Builder templateTableName(String templateTableName) {
			this.templateTableName = templateTableName;
			return this;
		}
		public  Builder attachmentTableName(String attachmentTableName) {
			this.attachmentTableName = attachmentTableName;
			return this;
		}

		public  Builder attachmentFieldId(String attachmentFieldId) {
			this.attachmentFieldId = attachmentFieldId;
			return this;
		}

		public  Builder workflowType(String workflowType) {
			this.workflowType = workflowType;
			return this;
		}

		public  Builder templateField(String templateField) {
			this.templateField = templateField;
			return this;
		}

		public  Builder attachmentField(String attachmentField) {
			this.attachmentField = attachmentField;
			return this;
		}

		public  Builder isTemplateShow(String isTemplateShow) {
			this.isTemplateShow = isTemplateShow;
			return this;
		}

		public  Builder showField(String showField) {
			this.showField = showField;
			return this;
		}

		public  Builder showValue(int showValue) {
			this.showValue = showValue;
			return this;
		}

		public  Builder hiddenValue(int hiddenValue) {
			this.hiddenValue = hiddenValue;
			return this;
		}

		public  Builder modelTableName(String modelTableName) {
			this.modelTableName = modelTableName;
			return this;
		}

		public  Builder modelField(String modelField) {
			this.modelField = modelField;
			return this;
		}
	}
}
